const {defineConfig} = require("@vue/cli-service");

module.exports = defineConfig({
    // 是否转译依赖。
    transpileDependencies: true,

    // 部署应用包时的基本 URL。默认为 '/'。
    publicPath: "/",

    // 第三方插件配置。
    pluginOptions: {
        // Electron 构建器选项。
        electronBuilder: {
            nodeIntegration: true, // 是否启用 Node.js 集成，默认为 true，如果设置为 false，则不能在页面中使用 Node.js API。
            contextIsolation: false, // 是否启用上下文隔离，默认为 false，如果设置为 true，则必须在 preload 脚本中使用全局变量 contextBridge 来桥接 Electron API。
            // 构建器选项。
            customFileProtocol: "/", // 自定义文件协议，默认为 '/'。
            builderOptions: {
                appId: "com.geeksss.weixin", // 应用程序 ID。
                productName: "微信", // 产品名称。
                copyright: "Copyright © 2023 张德龙 All Rights Reserved", // 版权。
                artifactName: "${productName}-Setup-${version}.${ext}", // 安装包文件名。
                // 目录选项。
                directories: {
                    output: "dist_electron", // 输出目录。
                },
                // Windows。
                win: {
                    icon: "public/favicon.ico", // 图标。
                    target: [
                        {
                            target: "nsis", // 安装包类型。
                            arch: [
                                "x64", // 64位。
                                "ia32", // 32位。
                            ],
                        },
                    ],
                },
                // NSIS。
                nsis: {
                    oneClick: false, // 是否一键安装。
                    allowToChangeInstallationDirectory: true, // 是否允许修改安装目录。
                    installerIcon: "public/favicon.ico", // 安装图标。
                    uninstallerIcon: "public/favicon.ico", // 卸载图标。
                    installerHeaderIcon: "public/favicon.ico", // 安装头部图标。
                    createDesktopShortcut: true, // 是否创建桌面快捷方式。
                    createStartMenuShortcut: true, // 是否创建开始菜单快捷方式。
                    shortcutName: "微信", // 快捷方式名称。
                },
                // Mac。
                mac: {
                    icon: "public/favicon.ico", // 图标。
                    target: [
                        {
                            target: "dmg", // 安装包类型。
                            arch: [
                                "x64", // 64位。
                                "arm64", // 64位。
                            ],
                        },
                    ],
                },
                // DMG。
                dmg: {
                    icon: "public/favicon.ico", // 图标。
                    title: "${productName}-${version}", // 标题。
                    contents: [
                        {
                            x: 410, // X坐标。
                            y: 150, // Y坐标。
                            type: "link", // 类型。
                            path: "/Applications", // 路径。
                        },
                        {
                            x: 130, // X坐标。
                            y: 150, // Y坐标。
                            type: "file", // 类型。
                        },
                    ],
                },
                // // Linux。
                // linux: {
                //     icon: "public/favicon.ico", // 图标。
                //     target: [
                //         {
                //             target: "AppImage", // 安装包类型。
                //             arch: [
                //                 "x64", // 64位。
                //                 "arm64", // 64位。
                //             ],
                //         },
                //     ],
                // },
                // // AppImage。
                // appImage: {
                //     icon: "public/favicon.ico", // 图标。
                //     artifactName: "${productName}-Setup-${version}.${ext}", // 安装包文件名。
                // },
                // // Snapcraft。
                // snap: {
                //     icon: "public/favicon.ico", // 图标。
                //     publish: ["github"], // 发布到 GitHub。
                // },
                // // Debian Package Manager。
                // deb: {
                //     icon: "public/favicon.ico", // 图标。
                //     publish: ["github"], // 发布到 GitHub。
                // },
                // // Red Hat Package Manager。
                // rpm: {
                //     icon: "public/favicon.ico", // 图标。
                //     publish: ["github"], // 发布到 GitHub。
                // },
                // // Arch Linux。
                // pacman: {
                //     icon: "public/favicon.ico", // 图标。
                //     publish: ["github"], // 发布到 GitHub。
                // },
            }
        }
    }
});